import ea_binary
import ea_decimal

if __name__ == "__main__":
    while True:
        #请输入目标函数
        print('******************* 目标函数 ********************')
        print('')
        print('1: f(x) = 3*(x1^2 - x2)^2')
        print('2: f(x) = x*sin(10*PI*x) + 2.0')
        print('')
        print('***************************************************')
        coded = int(input('请选择编码方式（2代表二进制 10代表实数）： '))
        FUN = int(input('请输入目标函数： '))
        low = int(input('请输入问题空间下界： '))
        up = int(input('请输入问题空间上界： '))
        x_dim = int(input('请输入问题参数个数： '))
        if coded == 2:
            ea_binary.main(FUN,low,up,x_dim)
        if coded == 10:
            ea_decimal.main(FUN,low,up,x_dim)



'''
工厂模式设计
抽象工厂(EA)
具体工厂A(二进制) 具体工厂B(实数编码)
抽象方法
具体方法
'''